6 research outputs found

    Compiler-assisted multiple instruction rollback recovery using a read buffer

    Get PDF
    Multiple instruction rollback (MIR) is a technique that has been implemented in mainframe computers to provide rapid recovery from transient processor failures. Hardware-based MIR designs eliminate rollback data hazards by providing data redundancy implemented in hardware. Compiler-based MIR designs have also been developed which remove rollback data hazards directly with data-flow transformations. This paper describes compiler-assisted techniques to achieve multiple instruction rollback recovery. We observe that some data hazards resulting from instruction rollback can be resolved efficiently by providing an operand read buffer while others are resolved more efficiently with compiler transformations. The compiler-assisted scheme presented consists of hardware that is less complex than shadow files, history files, history buffers, or delayed write buffers, while experimental evaluation indicates performance improvement over compiler-based schemes

    Simulation and Analysis of Support Hardware for Multiple Instruction Rollback

    No full text
    Coordinated Science Laboratory was formerly known as Control Systems LaboratoryAuthor's name wrongly appears as Neil J. Alewine on the cover and in the front matterNAS

    Incremental Compiler Transformations For Multiple Instruction Retry

    No full text
    Previous work on compiler-basedmultiple instruction retry has utilized a series of compiler transformations, loop protection, node splitting, and loop expansion, to eliminate anti-dependencies of length N in the pseudo register, the machine register, and the post-pass resolver phases of compilation 1. The results have provided a means of rapidly recovering from transient processor failures by rolling back N instructions. This paper presents techniques for improving compilation and run-time performance in compiler-based multiple instruction retry. Incremental updating enhances compilation time when new instructions are added to the program. Post-pass code rescheduling and spill register reassignment algorithms improve the run-time performance and decrease the code growth across the application programs studied. Branch hazards are shown to be resolvable by simple modifications to the incremental updating schemes during the pseudo register phase and to the spill register reassignment algorithm during the post-pass phase. KEY WORDS Rollback recovery Fault-tolerant computing Instruction retr
    corecore